; CDRS v1.0
; Script created by BrainWav
on *:load:csi
#c! off
raw 352:*:halt
raw 315:*:.disable #c! | cs | halt
#c! end
alias cs {
  var %c! = $active
  if ($server = $null) { linesep -a | echo -a CDRS - Not connected to server! | linesep -a | halt }
  if (%c! !ischan) { linesep -a | echo -a CDRS - Active window must be a channel | linesep -a | halt }
  if ($nick(%c!,0) < 2) { linesep -a | echo -a CDRS - No other users in %c! to scan | linesep -a | halt }
  if ($ial = $false) .ial on
  if ($ialchan(*,%c!,0) < $nick(%c!,0)) { linesep -a | echo -a Updating IAL in %c! for $nick(%c!,0) users... | linesep -a | .enable #c! | who %c! | halt }
  if (%c!max = $null) %c!max = 1
  if ($1 isnum) && ($2 = $null) %c!max = $1
  else { if ($2 isnum) && ($3 = $null) %c!max = $2 | if ($3 isnum) && ($2 = -o) %c!max = $3 }
  %c!ctime = $ctime | linesep -a | echo -a Beginning clone scan in %c! $+ ...
  :c
  inc %c!1
  if (%c!1 > $ialchan(*,%c!,0)) {
    echo -a Scanned $nick(%c!,0) addresses in $duration($calc($ctime - %c!ctime))
    echo -a Found $iif(%c!0,%c!0,no) users with %c!max $+ + clones
    linesep -a | unset %c!* | halt
  }
  %c!2 = $ialchan(*,%c!,%c!1)
  %c!iadrs = $ialchan(*!*@* [ $+ [ $gettok(%c!2,2,64) ] ] ,%c!,0)
  if (%c!iadrs > %c!max) {
    inc %c!0
    %c!nick = $gettok(%c!2,1,33)
    %c!adrs = $gettok(%c!2,2,64)
    echo -a > %c!nick ( $+ $gettok(%c!2,2,33) $+ )
    if ($me isop %c!) && (%c!nick ison %c!) && (%c!nick != $me) {
      %c!cm = (*!*@ $+ %c!adrs with $calc(%c!iadrs - 1) clone(s))
      if (%c!nick isop %c!) { if ($2 = -o) goto c | if (d isin $1) { mode %c! -o %c!nick | msg %c! Clone deop for %c!nick %c!cm } }
      if (b isin $1) mode %c! +b *!*@ $+ %c!adrs
      if (k isin $1) kick %c! %c!nick Clone kick %c!cm
    }
  }
  goto c
}
alias csi {
  linesep -a
  echo -a CDRS v1.0
  echo -a Requirements: mIRC 5.8
  echo -a Created by: BrainWav (texnwar@hotmail.com)
  echo -a Usage: /cs [d|b|k] [-o] [N]
  echo -a Meaning: d=deop, b=ban, k=kick, -o=op exclusion, N=clone limit
  linesep -a
}
menu channel {
  -
  CDRS v1.0
  .Scan Only:cs
  .Scan with Options:cs $$?="Enter CDRS extended commands: $str($crlf,2) $+ Usage: [d|b|k] [-o] [N]"
  .-
  .Info:csi
}
